Yes. But don't worry. All you need is the main ideas.
The BufferedReader object uses
the InputStreamReader object as its connection
to System.in.
This connection is made when the BufferedReader is constructed:
BufferedReader stdin =
new BufferedReader(inStream );
Think of this as an assembly line: System.in gets characters from the
keyboard.
The InputStreamReader reads the characters
from System.in and hands them to the BufferedReader.
The BufferedReader objects hands the data to your program when
requested.
Looking at the picture you see why this is called an "input stream". Data streams in from the keyboard through several processing stages before it gets to your program. You don't have to memorize and completely understand all of this right now. It is confusing. In fact, it is here that many text books use their own simpler input methods (which usually does little more than hide what is going on).